layui.use(['element', 'table', 'layer', 'laypage', 'form'], function () {
    var element = layui.element
        , table = layui.table
        , layer = layui.layer
        , laypage = layui.laypage
        , form = layui.form;


    /* ********************
    * 【表格参数设置】
    * ******************** */
    /***********
     * 学生管理
     * ***********/
    table.render({
        id: 'student_id'
        , title: '学生信息表'  // title可以用于文件导出时的文件名设置
        , height: 520
        , elem: '#student_table' // **table的id**
        , toolbar: '#student_toolbar'   // **工具栏的id**
        , url: '/data/student.json'  //******数据接口******
        //******表头相关设置******
        , cols: [[
            {type: 'checkbox', align: 'center', fixed: 'left'}
            , {field: 's_id', title: '学号', sort: true}
            , {field: 's_name', title: '姓名'}
            , {field: 'wx', title: '微信号', sort: true}
            , {field: 'authority', title: '权限', sort: true}
            // **toolbar为操作列，需要获取操作列内容id**
            , {toolbar: '#student_operate', title: '操作', fixed: 'right', align: 'center'}
        ]]
        , page: true    // 开启分页
        , loading: true
    });

    /***********
     * 教师管理
     * ***********/
    table.render({
        id: 'teacher_id'
        , title: '教师信息表'  // title可以用于文件导出时的文件名设置
        , height: 520
        , elem: '#teacher_table' // **table的id**
        , toolbar: '#teacher_toolbar'   // **工具栏的id**
        , url: '/data/teacher.json'  //******数据接口******
        //******表头相关设置******
        , cols: [[
            {type: 'checkbox', align: 'center', fixed: 'left'}
            , {field: 't_id', title: '工号', sort: true}
            , {field: 't_name', title: '姓名'}
            , {field: 'wx', title: '微信号', sort: true}
            , {field: 'authority', title: '权限', sort: true}
            , {field: 'tel', title: '电话'}
            // **toolbar为操作列，需要获取操作列内容id**
            , {toolbar: '#teacher_operate', title: '操作', fixed: 'right', align: 'center'}
        ]]
        , page: true    // 开启分页
        , loading: true
    });

    /***********
     * 班级管理
     * ***********/
    table.render({
        id: 'class_id'
        , title: '教师信息表'  // title可以用于文件导出时的文件名设置
        , height: 520
        , elem: '#class_table' // **table的id**
        , toolbar: '#class_toolbar'   // **工具栏的id**
        , url: '/data/class.json'  //******数据接口******
        //******表头相关设置******
        , cols: [[
            {type: 'checkbox', align: 'center', fixed: 'left'}
            , {field: 'c_id', title: '班级代号', sort: true}
            , {field: 't_name', title: '辅导员'}
            , {field: 'tel', title: '电话'}
            // **toolbar为操作列，需要获取操作列内容id**
            , {toolbar: '#class_operate', title: '操作', fixed: 'right', align: 'center'}
        ]]
        , page: true    // 开启分页
        , loading: true
    });

    /***********
     * 活动管理
     * ***********/
    table.render({
        id: 'activity_id'
        , title: '活动信息表'  // title可以用于文件导出时的文件名设置
        , height: 520
        , elem: '#activity_table' // **table的id**
        , toolbar: '#activity_toolbar'   // **工具栏的id**
        , url: '/data/activity.json'  //******数据接口******
        //******表头相关设置******
        , cols: [[
            {type: 'checkbox', align: 'center', fixed: 'left'}
            , {field: 'a_name', title: '活动名称'}
            , {field: 'u_name', title: '创建者'}
            , {field: 'ci_time', title: '签到时间', sort: true}
            , {field: 'c_time', title: '创建时间', sort: true}
            , {field: 'u_time', title: '修改时间', sort: true}
            , {field: 'a_place', title: '活动地点'}
            // **toolbar为操作列，需要获取操作列内容id**
            , {toolbar: '#activity_operate', title: '操作', fixed: 'right', align: 'center'}
        ]]
        , page: true    // 开启分页
        , loading: true
    });

    /***********
     * 课程管理
     * ***********/
    table.render({
        id: 'course_id'
        , title: '课程信息表'  // title可以用于文件导出时的文件名设置
        , height: 520
        , elem: '#course_table_list' // **table的id**
        , toolbar: '#course_toolbar'   // **工具栏的id**
        , url: '/data/course.json'  //******数据接口******
        //******表头相关设置******
        , cols: [[
            {type: 'checkbox', align: 'center', fixed: 'left'}
            , {field: 'course_id', title: '课程代码', sort: true}
            , {field: 'course_name', title: '课程名称'}
            , {field: 'course_time', title: '课程时间', sort: true}
            , {field: 'c_id', title: '课程班级', sort: true}
            // **toolbar为操作列，需要获取操作列内容id**
            , {toolbar: '#course_operate', title: '操作', fixed: 'right', align: 'center'}
        ]]
        , page: true    // 开启分页
        , loading: true
    });

    /***********
     * 签到管理
     * ***********/
    table.render({
        id: 'check_in_id'
        , title: '签到信息表'  // title可以用于文件导出时的文件名设置
        , height: 520
        , elem: '#check_in_table' // **table的id**
        , toolbar: '#check_in_toolbar'   // **工具栏的id**
        , url: '/data/check-in.json'  //******数据接口******
        //******表头相关设置******
        , cols: [[
            {type: 'checkbox', align: 'center', fixed: 'left'}
            , {field: 'a_name', title: '活动名称'}
            , {field: 's_name', title: '学生姓名'}
            , {field: 's_id', title: '学号', sort: true}
            , {field: 's_time', title: '签到时间', sort: true}
            // **toolbar为操作列，需要获取操作列内容id**
            , {toolbar: '#check_in_operate', title: '操作', fixed: 'right', align: 'center'}
        ]]
        , page: true    // 开启分页
        , loading: true
    });

    /***********
     * 权限管理
     * ***********/
    table.render({
        id: 'authority_id'
        , title: '权限信息表'  // title可以用于文件导出时的文件名设置
        , height: 520
        , elem: '#authority_table' // **table的id**
        , toolbar: true   // **工具栏的id**
        , url: '/data/authority.json'  //******数据接口******
        //******表头相关设置******
        , cols: [[
            {type: 'checkbox', align: 'center', fixed: 'left'}
            , {field: 'id', title: '学号/工号', sort: true}
            , {field: 'name', title: '姓名'}
            , {field: 'authority', title: '权限', sort: true}
            // **toolbar为操作列，需要获取操作列内容id**
            , {toolbar: '#authority_operate', title: '操作', fixed: 'right', align: 'center'}
        ]]
        , page: true    // 开启分页
        , loading: true
    });


    /* **********************************************************************
   * 【监听事件】
   * 注：toolbar是固定事件名，student是table原始容器的属性 lay-filter="对应的值"
   * ********************************************************************** */

    /***********
     * 学生管理
     * ***********/
    // **工具栏监听事件**
    table.on('toolbar(student)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id);
        switch (obj.event) {
            case 'add': {
                var checkStatus = table.checkStatus('table_id'); //idTest 即为基础参数 id 对应的值
                console.log(checkStatus.data);           //获取选中行的数据
                console.log(checkStatus.data.length);    //获取选中行数量，可作为是否有选中行的条件
                console.log(checkStatus.isAll);          //表格是否全选
                layer.msg('添加');
                break;
            }
            case 'import':
                layer.msg('导入');
                break;
            case 'delete':
                layer.msg('删除');
                break;
        }
    });

    /***********
     * 教师管理
     * ***********/
    // **工具栏监听事件**
    table.on('toolbar(teacher)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id);
        switch (obj.event) {
            case 'add': {
                var checkStatus = table.checkStatus('table_id'); //idTest 即为基础参数 id 对应的值
                console.log(checkStatus.data);           //获取选中行的数据
                console.log(checkStatus.data.length);    //获取选中行数量，可作为是否有选中行的条件
                console.log(checkStatus.isAll);          //表格是否全选
                layer.msg('添加');
                break;
            }
            case 'import':
                layer.msg('导入');
                break;
            case 'delete':
                layer.msg('删除');
                break;
        }
    });

    /***********
     * 班级管理
     * ***********/
    // **工具栏监听事件**
    table.on('toolbar(class)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id);
        switch (obj.event) {
            case 'add': {
                var checkStatus = table.checkStatus('table_id'); //idTest 即为基础参数 id 对应的值
                console.log(checkStatus.data);           //获取选中行的数据
                console.log(checkStatus.data.length);    //获取选中行数量，可作为是否有选中行的条件
                console.log(checkStatus.isAll);          //表格是否全选
                layer.msg('添加');
                break;
            }
            case 'import':
                layer.msg('导入');
                break;
            case 'delete':
                layer.msg('删除');
                break;
        }
    });

    /***********
     * 活动管理
     * ***********/
    // **工具栏监听事件**
    table.on('toolbar(activity)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id);
        switch (obj.event) {
            case 'add': {
                var checkStatus = table.checkStatus('table_id'); //idTest 即为基础参数 id 对应的值
                console.log(checkStatus.data);           //获取选中行的数据
                console.log(checkStatus.data.length);    //获取选中行数量，可作为是否有选中行的条件
                console.log(checkStatus.isAll);          //表格是否全选
                layer.msg('添加');
                break;
            }
            case 'import':
                layer.msg('导入');
                break;
            case 'delete':
                layer.msg('删除');
                break;
        }
    });

    /***********
     * 签到管理
     * ***********/
    // **工具栏监听事件**
    table.on('toolbar(check_in)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id);
        switch (obj.event) {
            case 'add': {
                var checkStatus = table.checkStatus('table_id'); //idTest 即为基础参数 id 对应的值
                console.log(checkStatus.data);           //获取选中行的数据
                console.log(checkStatus.data.length);    //获取选中行数量，可作为是否有选中行的条件
                console.log(checkStatus.isAll);          //表格是否全选
                layer.msg('添加');
                break;
            }
            case 'import':
                layer.msg('导入');
                break;
            case 'delete':
                layer.msg('删除');
                break;
        }
    });


});